from selenium import webdriver
from selenium.webdriver.chrome.service import Service  # 新增：配置驱动路径
from selenium.webdriver.common.by import By  # 新增：定位元素的策略类

# 1. 配置 ChromeDriver（Selenium 4+ 必须通过 Service 对象传入路径）
path = 'chromedriver.exe'  # 确保驱动路径正确（如放在项目根目录）
service = Service(executable_path=path)

# 2. 启动浏览器
browser = webdriver.Chrome(service=service)  # 通过 service 参数传入驱动配置

# 3. 访问百度首页
url = 'http://www.baidu.com'
browser.get(url)

try:
    # 4. 定位元素（使用新版 By.策略）
    # (1) 定位搜索按钮（ID: su）
    input_element = browser.find_element(By.ID, 'su')  # 替换旧版 find_element_by_id

    # (2) 获取标签的属性（如 class）
    print("搜索按钮的 class 属性：", input_element.get_attribute('class'))

    # (3) 获取标签的名字（如 input）
    print("搜索按钮的标签名：", input_element.tag_name)

    # (4) 定位"新闻"链接并获取文本
    news_link = browser.find_element(By.LINK_TEXT, '新闻')  # 替换旧版 find_element_by_link_text
    print("链接文本：", news_link.text)

except Exception as e:
    print("发生错误：", e)
finally:
    # 5. 关闭浏览器（确保资源释放）
    browser.quit()